//
//  YKUMSDK+Push.h
//  YKUMSDK
//
//  Created by linghit on 2022/11/1.
//

#import <YKUMSDK/YKUMSDK.h>

NS_ASSUME_NONNULL_BEGIN

@interface YKUMSDK (Push)

/// 注册接口
/// - Parameters:
///   - launchOptions: 系统的launchOptions启动消息参数用于处理用户通过消息打开应用相关信息。
///   - completionHandler: iOS10授权后的回调。
+ (void)push_registWith:(NSDictionary * __nullable)launchOptions
 completionHandler:(void (^ __nullable)(BOOL granted, NSError *_Nullable error))completionHandler;

/// 册该设备的deviceToken，便于发送Push消息
/// - Parameter deviceToken: APNs返回的deviceToken
+ (void)push_registerDeviceToken:(NSData * __nullable)deviceToken;

/// 设置是否允许SDK自动清空角标（默认开启）
/// - Parameter value: 是否开启角标清空
+ (void)push_setBadgeClear:(BOOL)value;

/// 设置是否允许SDK当应用在前台运行收到Push时弹出Alert框（默认开启）
/// - Parameter value: 是否开启弹出框
+ (void)push_setAutoAlert:(BOOL)value;

/// 为某个消息发送点击事件
/// - Parameter userInfo: 用户信息
+ (void)push_sendClickReportForRemoteNotification:(NSDictionary * __nullable)userInfo;

@end

NS_ASSUME_NONNULL_END
